Why do I get garbage output when printing an int[]?
Posted
by Kat
on Stack Overflow
See other posts from Stack Overflow
or by Kat
Published on 2010-03-31T23:22:58Z
Indexed on
2010/04/01
0:23 UTC
Read the original article
Hit count: 701
My program is suppose to count the occurrence of each character in a file ignoring upper and lower case. The method I wrote is:
public int[] getCharTimes(File textFile) throws FileNotFoundException {
Scanner inFile = new Scanner(textFile);
int[] lower = new int[26];
char current;
int other = 0;
while(inFile.hasNext()){
String line = inFile.nextLine();
String line2 = line.toLowerCase();
for (int ch = 0; ch < line2.length(); ch++) {
current = line2.charAt(ch);
if(current >= 'a' && current <= 'z')
lower[current-'a']++;
else
other++;
}
}
return lower;
}
And is printed out using:
for(int letter = 0; letter < 26; letter++) {
System.out.print((char) (letter + 'a'));
System.out.println(": " + ts.getCharTimes(file));
}
Where ts is a TextStatistic object created earlier in my main method. However when I run my program, instead of printing out the number of how often the character occurs it prints:
a: [I@f84386
b: [I@1194a4e
c: [I@15d56d5
d: [I@efd552
e: [I@19dfbff
f: [I@10b4b2f
And I don't know what I'm doing wrong.
© Stack Overflow or respective owner